<?php
require_once 'BaseController.php';
    	
/**
 * 店舗物件検索（駅検索）クラス<br />
 *
 * @package apamanshop
 * @author
 * @copyright
 */
class Shinkensaku_SelStationController extends Shinkensaku_BaseController
{
    /**
     * メインアクション
     *
     * @access public
     * @return void
     */
    public function indexAction()
    {	
        $block = array();
		//加盟店ページより遷移時はヘッダを付与する		/* 2011/07/22　AKBｷｬﾝﾍﾟｰﾝ：加盟店ﾒﾝﾊﾞｰｻｲﾄ追加対応 */
		if($this->_params['shoppage']){
			// 外部モデル呼び出し設定
			$loader = new Zend_Application_Module_Autoloader(array(
				'namespace' => 'Shop',
				'basePath' => APPLICATION_PATH . '/modules/shop',
			));
			$this->_model_shop = new Shop_Model_Detail();
			// 店舗詳細情報取得
			$shopDtlList = $this->_model_shop->getList($this->_params);
			// 表示用に変換
			$this->_data['shopDtl'] = $this->_model_shop->convertData($shopDtlList[0]);
	    	// Block設定
	        $block['shoppage_header']   = $this->_shoppage_header_helper->getBlock($this->_data);
	        $block['shoppage_footer']   = $this->_shoppage_footer_helper->getBlock($this->_data);
		}

        // 沿線コードが存在しない場合は不正アクセス
        if (array_key_exists('RailCd', $this->_params) == false || count(array_filter($this->_params['RailCd'])) == 0)
        {
        	//echo '不正アクセス(沿線コードが存在しません)';
	        $this->setBreadCrumb("&nbsp;"); // パンくずリスト対応(nullが表示されないように)
	        $this->_display_path = APPLICATION_PATH . '/modules/common/views/scripts/empty.tpl';
	        // 表示
	        $this->display($this->_display_path); 
        	exit;
        }

        // 都道府県コードが存在しない場合は不正アクセス
        if (array_key_exists('PrefCd', $this->_params) == false || count(array_filter($this->_params['PrefCd'])) == 0)
        {
        	echo '不正アクセス(都道府県コードが存在しません)';
        	exit;
        }
           
		// Searchインスタンス生成
    	$loader = new Zend_Application_Module_Autoloader(array(
			'namespace' => 'Search',
			'basePath' => APPLICATION_PATH . '/modules/search',
		));
		
        // モデルインスタンス生成
        $this->_model = new Shinkensaku_Model_SelStation();
    	$this->_model_kodawari = new Search_Model_Kodawarijyoken();		// こだわり
		$this->_model_campain	= new Search_Model_Campaignsearch();	// キャンペーン
	    
        $this->_display_path = APPLICATION_PATH . '/modules/shinkensaku/views/scripts/sel-common.tpl';
    	
    	// 参照区分チェック
    	$intGoFlg = 0;
    	$intGoFlg = $this->_model->ChkRefKbn($this->_params);
    	if ($intGoFlg == 1)
    	{
    		// コンテンツタイトル設定
    		if ($this->_params['SrhKbn_dtl'] == '01')
    		{
	    		$this->_data['subTitleType'] = 'station';
    		}
    		else
    		{
    			$this->_data['subTitleType'] = 'condition';
    		} 
    		
    		// 不正な参照です。
			$block['main_block'] = $this->_sel_error_helper->getBlock($this->_data);
    	}
    	else
    	{
	    	$selStation = array();
	    	if ($this->_params['SrhKbn_dtl'] == '01')
	    	{
	    		// 駅を選択する場合
		        if (array_key_exists('OemCd', $this->_params) == false || strcmp($this->_params['OemCd'], '') == 0)
		        {
		        	// OemCdが存在しない場合の駅情報更新・駅情報取得
		        	$this->_model->ekiKoushin($this->_params);
		        	$selStation = $this->_model->getList($this->_params);
		        }
		        else
		        {
					// OemCdが存在する場合の駅情報取得
			        $selStation = $this->_model->getOemList($this->_params);
		        }

		        // 取得できなかった場合
		        if (count($selStation) == 0)
		        {
		        	echo 'データが取得できませんでした';
		        	exit;
		        }
		        
		        // 表示用データに変換
		        $this->_data['selStation'] = $this->_model->convertData($selStation, $this->_params);        
	    	}
	    	    
	    	// こだわり条件取得・変換
	    	$this->_data['kodawari'] = $this->_model_kodawari->getKodawariJyoken($this->_params);
			$this->_model_kodawari->convertData($this->_params, $this->_data);
			
			// キャンペーン条件取得
			$this->_data['campaign'] = $this->_model_campain->getCampaignsearch();
			$this->_model_campain->convertData2($this->_params, $this->_data);
			
	    	// ReqKbn、RefKbnは、空の場合0を代入
	    	if (array_key_exists('ReqKbn', $this->_params) == false || $this->_params['ReqKbn'] == '') $this->_data['ReqKbn'] = 0;
	    	if (array_key_exists('RefKbn', $this->_params) == false || $this->_params['RefKbn'] == '') $this->_data['RefKbn'] = 0;
	        
	        // BLOCKの生成
			if (array_key_exists('SrhKbn_dtl', $this->_params) && $this->_params['SrhKbn_dtl'] == '01')
			{
				$block['main_block']  = $this->_sel_station_helper->getBlock($this->_data);
			}
	        $block['condition_block'] = $this->_sel_condition_helper->getBlock($this->_data);	
	    }
	    
	    $this->_data['block'] = $block;
        
        // CMSヘッダー・フッターなし設定
        $this->setXPassThroutgh();

        // 表示
        $this->display($this->_display_path);
    }
}
?>
